1141E - Superhero Battle - CodeForces Solution


math *1700

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#define MOD 1000000007
#define MAX 200000
using namespace std;
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	long long h;
	int n;
	cin>>h>>n;
	vector<int> v(n);
	for(int &x:v)cin>>x;
	long long rem = 0;
	for(int i=0;i<n;++i)
	{
		rem += v[i];
		if(h+rem<=0)
		{
			cout<<i+1<<endl;
			return 0;
		}
	}
	if(rem<0)
	{
		long long ans = n*h, sm = 0;
		rem *= -1;
		for(int i=0;i<n;++i)
			sm += v[i], ans = min(ans,i+1+(h+sm+rem-1)/rem*n);
		cout<<ans<<endl;
	}
	else cout<<"-1"<<endl;
	return 0;
}


Comments

Submit
0 Comments
More Questions

1669E - 2-Letter Strings
483A - Counterexample
3C - Tic-tac-toe
1669F - Eating Candies
1323B - Count Subrectangles
991C - Candies
1463A - Dungeon
1671D - Insert a Progression
1671A - String Building
1671B - Consecutive Points Segment
1671C - Dolce Vita
1669G - Fall Down
4D - Mysterious Present
1316B - String Modification
1204A - BowWow and the Timetable
508B - Anton and currency you all know
1672A - Log Chopping
300A - Array
48D - Permutations
677C - Vanya and Label
1583B - Omkar and Heavenly Tree
1703C - Cypher
1511C - Yet Another Card Deck
1698A - XOR Mixup
1702E - Split Into Two Sets
1703B - ICPC Balloons
1702F - Equate Multisets
1700A - Optimal Path
665C - Simple Strings
1708A - Difference Operations